package com.aiti.lulian.service;

import com.aiti.base.core.base.service.BaseService;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.dto.*;
import com.aiti.lulian.entity.crad.CardEnterpriseFloor;
import com.aiti.lulian.vo.CardEnterpriseFloorVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

public interface ICardEnterpriseFloorService extends BaseService<CardEnterpriseFloor> {

    Integer getFloorSort(String enterpriseId);

    CardEnterpriseFloorVo getFloorById(String baseId);

    List<CardEnterpriseFloorVo> getFloorList(CardEnterpriseFloorDto cardEnterpriseFloorDto, Page<CardEnterpriseFloor> page);

    Message moveFloor(CardEnterpriseFloorDto cardEnterpriseFloorDto);

    Message addMediaFloor(CardEnterpriseFloorMediaDto mediaFloor);

    Message addAttachFloor(CardEnterpriseFloorAttachDto attachFloor);

    Message addOrUpdateLinkFloor(CardEnterpriseFloorLinkDto linkFloor);

    Message addQualificationFloor(CardEnterpriseFloorQualificationDto qualificationFloor);

    Message addRichTextFloor(CardEnterpriseFloorRichTextDto richTextFloor);

    Message addZfTextFloor(CardEnterpriseFloorZfTextDto zfTextFloor);

    Message addClusterFloor(CardEnterpriseFloorClusterDto clusterFloor);

    Message addZfFileFloor(CardEnterpriseFloorZfFileDto zfFileFloor);

    Message updateMediaFloor(CardEnterpriseFloorMediaDto mediaFloor);

    Message updateAttachFloor(CardEnterpriseFloorAttachDto attachFloor);

    Message updateQualificationFloor(CardEnterpriseFloorQualificationDto qualificationFloor);

    Message updateRichTextFloor(CardEnterpriseFloorRichTextDto richTextFloor);

    Message updateZfTextFloor(CardEnterpriseFloorZfTextDto zfTextFloor);

    Message updateClusterFloor(CardEnterpriseFloorClusterDto clusterFloor);

    Message updateZfFileFloor(CardEnterpriseFloorZfFileDto zfFileFloor);

    Message getMediaFloorDetails(String baseId);

    Message getAttachFloorDetails(String baseId);

    Message getLinkFloorDetails(String baseId);

    Message getQualificationFloorDetails(String baseId);

    Message getRichTextFloorDetails(String baseId);

    Message getZfTextFloorDetails(String baseId);

    Message getClusterFloorDetails(String baseId);

    Message getZfFileFloorDetails(String baseId);

    Message removeFloor(String enterpriseId, String baseId, String type, Integer sort);

    Message updateFloor(CardEnterpriseFloorDto floorDto);
}